home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
JCSM Shareware Collection 1996 September
/
JCSM Shareware Collection (JCS Distribution) (September 1996).ISO
/
prgtools
/
euphor13.zip
/
SHROUD.EX
< prev
next >
Wrap
Text File
|
1995-05-12
|
9KB
|
693 lines
----------------------------
-- Source Code Shrouder --
----------------------------
-- usage: ex shroud filename.ex > newname.ex
-- 1. Pulls together all include files into a single file.
-- 2. Eliminates all comments and superfluous white space.
-- 3. Replaces most identifiers by short meaningless names.
-- 4. Replaces keywords and builtin names by single-byte codes.
-- 5. Replaces strings by sequences of ascii codes.
-- Note: Symbols declared as global in the main .ex file are not changed.
-- This lets you create library routines with meaningful names for other
-- programmers to include. (Your names should be at least 2 or 3 characters
-- long to avoid possible conflicts.)
-- Your program should be free of any syntax errors before running
-- the shrouder on it.
-- The result is an unreadable, unmaintainable file that runs identically
-- to your original source (which you will keep for yourself). You can
-- distribute this file (plus the PD Edition of Euphoria) without
-- "giving away" your source. Shrouded source has certain advantages over
-- .exe files:
-- - you can add readable comments
-- - you can document certain changes that can be made to reconfigure
-- your program
-- - your code could serve as a library of routines that others could
-- build on
-- - the same shrouded source might run on more than one platform
-- (as long as Euphoria exists on that platform).
-- - shrouded source is extremely compact
-- example:
-- copy ed.ex edsrc.ex
-- ex shroud edsrc.ex > ed.ex
-- This gives you a shrouded version of ed. Because it is smaller, it will
-- start up slightly faster than the original ed.ex
-- We ran the shrouder on *itself* to get ...
ùwarning
ùtype_check
îB=1,C=0
îD=B
îE=B
îF=-1
îG=1,H=2
îI=128,
J=170
îK={
{
105,102},{
101,110,100},{
116,104,101,110},{
112,114,111,99,101,100,117,114,101},{
101,108,115,101},{
102,111,114},{
114,101,116,117,114,110},
{
100,111},{
101,108,115,105,102},{
119,104,105,108,101},{
116,121,112,101},{
99,111,110,115,116,97,110,116},{
116,111},{
97,110,100},{
111,114},
{
101,120,105,116},{
102,117,110,99,116,105,111,110},{
103,108,111,98,97,108},{
98,121},{
110,111,116},{
105,110,99,108,117,100,101},
{
119,105,116,104},{
119,105,116,104,111,117,116}}
îL={
{
108,101,110,103,116,104},{
112,117,116,115},{
105,110,116,101,103,101,114},{
115,101,113,117,101,110,99,101},{
112,111,115,105,116,105,111,110},{
111,98,106,101,99,116},
{
97,112,112,101,110,100},{
112,114,101,112,101,110,100},{
112,114,105,110,116},{
112,114,105,110,116,102},
{
99,108,101,97,114,95,115,99,114,101,101,110},{
102,108,111,111,114},{
103,101,116,99},{
103,101,116,115},{
103,101,116,95,107,101,121},
{
114,97,110,100},{
114,101,112,101,97,116},{
97,116,111,109},{
99,111,109,112,97,114,101},{
102,105,110,100},{
109,97,116,99,104},
{
116,105,109,101},{
99,111,109,109,97,110,100,95,108,105,110,101},{
111,112,101,110},{
99,108,111,115,101},{
116,114,97,99,101},{
103,101,116,101,110,118},
{
115,113,114,116},{
115,105,110},{
99,111,115},{
116,97,110},{
108,111,103},{
115,121,115,116,101,109},{
100,97,116,101},{
114,101,109,97,105,110,100,101,114},
{
112,111,119,101,114},{
109,97,99,104,105,110,101,95,102,117,110,99},{
109,97,99,104,105,110,101,95,112,114,111,99},{
97,98,111,114,116},{
112,101,101,107},{
112,111,107,101},
{
99,97,108,108},{
115,112,114,105,110,116,102}}
îM=1,
N=2,
O=3,
P=4,
Q=5,
R=6,
S=7,
T=8
îU={
43,45,42,47,91,93,40,41,123,125,44,46,61,38,39,34,60,62}
îV=-999
îW=1,X=2,Y=3
ïZ(¡a)
ç╛(a,{Y,X,W})
éï
ïa(¡b)
çb>=-1
éï
ïb(¡c)
çc>=FÄc<=255Åc=V
éï
ïc(¡d)
çd>=0
éï
ïd(¡e)
çe=BÅe=C
éï
«e
äf()
e=╗(N,255)
e[97..122]=O
e[65..90]=O
e[95]=O
e[48..57]=M
e[35]=T
e[91]=P
e[93]=P
e[40]=P
e[41]=P
e[123]=P
e[125]=P
e[39]=Q
e[34]=Q
e[32]=S
e[9]=S
e[10]=S
e[45]=R
éä
b g
g=V
æh(a i)
b j
üg=Vâ
ç╖(i)
à
j=g
g=V
çj
éü
éæ
äi(b j)
g=j
éä
a j,k
b l
l=V
äm(b n)
ü╛(n,{
32,9,10})â
ül=10â
ç
éü
ün !=10â
ül>IÅ╛(l,U)â
ç
ë╛(l,{
32,9})â
ç
éü
éü
ën>IÅ╛(n,U)â
ü╛(l,{
32,9})â
l=V
éü
éü
ül !=Vâ
¼(j,l)
éü
l=n
éä
än(«o)
ül !=Vâ
¼(j,l)
l=V
éü
¼(j,o)
éä
«o
o={}
äp(«q)
o=o&q
éä
c q
q=1
ær()
c s,t
«u
ü½(o)>0â
u=o[1]
o=o[2..½(o)]
çu
éü
u={}
t=q
èBê
s=═(t,52)
t=╢(t/52)
üs<26â
u=65+s&u
à
u=97+s-26&u
éü
üt=0â
É
éü
éè
q=q+1
ü╛(u,K)â
çr()
ë╛(u,L)â
çr()
à
çu
éü
éæ
Z s
s=X
d t
t=C
¡u,v
u=1
v=1
«w,x,y
w={{},{}}
x={{{},{}}}
y={{},{}}
«z
z={}
æBA(«BB)
«BC
c BD
BD=0
BD=╛(BB,y[G])
üBDâ
çy[H][BD]
éü
BD=╛(BB,w[G])
üBDâ
çw[H][BD]
éü
BD=╛(BB,x[u][G])
üBDâ
çx[u][H][BD]
éü
üs=Wâ
BC=r()
y[G]=▒(y[G],BB)
y[H]=▒(y[H],BC)
à
üötâ
s=X
éü
üs=Yâ
ü½(z)=0â
BC=BB
à
BC=r()
éü
w[G]=▒(w[G],BB)
w[H]=▒(w[H],BC)
à
BC=r()
x[u][G]=▒(
x[u][G],BB)
x[u][H]=▒(
x[u][H],BC)
éü
éü
çBC
éæ
«BB
îBC=97-65
æBD(░BE)
¡BF
åBG=1ì½(BE)ê
BF=BE[BG]
üBF>=97â
üBF<=122â
BE[BG]=BF-BC
éü
éü
éå
çBE
éæ
æBE(«BF)
¡BG
BG=1
åBH=1ì½(BF)ê
üBF[BH]=92â
BG=BH+1
éü
éå
çBD(BF[BG..½(BF)])
éæ
«BF
BF={}
æBG(«BH)
BH=BE(BH)
ü╛(BH,BF)â
çB
à
BF=▒(BF,BH)
çC
éü
éæ
æBH()
b BI
«BJ
a BK
BI=V
BJ={}
èBI !=10ÄBI !=Fê
BI=h(k)
üe[BI]!=Sâ
BJ=BJ&BI
éü
éè
üBG(BJ)â
çk
éü
z=▒(z,{k,u})
v=v+1
u=v
x=▒(x,{{},{}})
BK=┬(BB&BJ,{
114})
üBK=-1â
BK=┬(┼({
69,85,68,73,82})&{
92,73,78,67,76,85,68,69,92}&BJ,{
114})
üBK=-1â
¼(2,{
67,111,117,108,100,110,39,116,32,111,112,101,110,32,105,110,99,108,117,100,
101,32,102,105,108,101,58,32}&BJ&10)
ç-1
éü
éü
çBK
éæ
æBI()
a BJ
├(k)
ü½(z)=0â
ç-1
éü
BJ=z[½(z)][1]
u=z[½(z)][2]
z=z[1..½(z)-1]
çBJ
éæ
æBK(╝BJ)
«BL
BL={}
è1ê
BL=48+═(BJ,10)&BL
BJ=╢(BJ/10)
üBJ=0â
çBL
éü
éè
éæ
äBJ(b BL)
üBL=110â
n(BK(10))
ëBL=116â
n(BK(9))
ëBL=114â
n(BK(13))
à
n(BK(BL))
éü
éä
îBL=1,BM=0
îBN=I+╛({
101,110,100},K),
BO=I+╛({
112,114,111,99,101,100,117,114,101},K),
BP=I+╛({
102,117,110,99,116,105,111,110},K),
BQ=I+╛({
116,121,112,101},K),
BR=I+╛({
103,108,111,98,97,108},K),
BS=I+╛({
105,110,99,108,117,100,101},K),
BT=I+╛({
119,105,116,104},K),
BU=I+╛({
119,105,116,104,111,117,116},K)
æBV(d BW)
c BX,BY,BZ
b Ba,Bb
«Bc,Bd
èBê
Bb=h(k)
üBb=Fâ
çF
éü
BX=e[Bb]
üBX=Sâ
m(Bb)
ëBX=Oâ
Bc={Bb}
èBê
Bb=h(k)
BX=e[Bb]
üBX=Oâ
Bc=Bc&Bb
ëBX=Mâ
Bc=Bc&Bb
à
i(Bb)
É
éü
éè
BY=╛(Bc,K)
üBYâ
üö╛(Bc,{{
105,110,99,108,117,100,101},BS})â
üö╛(Bc,{{
103,108,111,98,97,108},BR})Å
½(z)=0â
üDÄBWâ
m(I+BY)
à
n(Bc)
éü
éü
éü
à
BY=╛(Bc,L)
üBYâ
üDÄBWâ
m(J+BY)
à
n(Bc)
éü
à
üBWâ
n(BA(Bc))
à
n(Bc)
éü
éü
éü
çBc
ëBX=NÅBX=Pâ
m(Bb)
çBb
ëBX=Mâ
èe[Bb]=MÅ╛(Bb,{
101,69})ê
m(Bb)
Bb=h(k)
éè
i(Bb)
ëBX=Tâ
m(Bb)
Bb=h(k)
èe[Bb]=MÅ╛(Bb,{
65,66,67,68,69,70})ê
m(Bb)
Bb=h(k)
éè
i(Bb)
ëBX=Râ
Bb=h(k)
ü(Bb=45)â
Bd=╕(k)
m(10)
à
m(45)
i(Bb)
éü
à
Bd={}
èBê
Ba=h(k)
üBa=10ÅBa=Fâ
¼(2,{
109,105,115,115,105,110,103,32,99,108,111,115,105,110,103,32,113,117,111,116,
101,10})
É
éü
üBa=Bbâ
É
éü
Bd=Bd&Ba
üBa=92â
Ba=h(k)
Bd=Bd&Ba
éü
éè
üEâ
üBb=39â
m(32)
üBd[1]=92â
BJ(Bd[2])
à
n(BK(Bd[1]))
éü
à
m(123)
BZ=1
èBZ<=½(Bd)ê
ü═(BZ,20)=1â
m(10)
éü
Bb=Bd[BZ]
üBb=92â
BZ=BZ+1
Bb=Bd[BZ]
BJ(Bb)
à
n(BK(Bb))
éü
üBZ<½(Bd)â
m(44)
éü
BZ=BZ+1
éè
m(125)
éü
à
m(Bb)
n(Bd)
m(Ba)
éü
éü
éè
éæ
äBW()
¼(j,10&BU)
¼(j,{
119,97,114,110,105,110,103,10})
éä
äBX()
░BY,BZ
BW()
BY=V
èBê
BY=BV(BL)
ü╜(BY,F)=0â
k=BI()
ük=-1â
m(V)
ç
éü
ë╛(BY,{{
101,110,100},BN})â
BY=BV(BL)
ü╛(BY,{{
112,114,111,99,101,100,117,114,101},{
102,117,110,99,116,105,111,110},{
116,121,112,101},
BO,BP,BQ})â
s=X
p(y[H])
y={{},{}}
éü
ë╛(BY,{{
103,108,111,98,97,108},BR})â
s=Y
t=B
è╛(BY,{{
103,108,111,98,97,108},BR})ê
BY=BV(BL)
BY=BV(BL)
BY=BV(BL)
ü╜(BY,40)=0â
s=W
éü
éè
ë╛(BY,{{
112,114,111,99,101,100,117,114,101},{
102,117,110,99,116,105,111,110},{
116,121,112,101},
BO,BP,BQ})â
BY=BV(BL)
s=W
ë╛(BY,{{
105,110,99,108,117,100,101},BS})â
k=BH()
ük=-1â
ç
éü
ë╛(BY,{{
119,105,116,104},{
119,105,116,104,111,117,116},BT,BU})â
BZ=BV(BM)
ü╜(BY,{
119,105,116,104})=0Ä
╜(BZ,{
119,97,114,110,105,110,103})=0â
BW()
éü
ë╜(BY,44)=0â
t=B
à
t=C
éü
éè
éä
äBa()
«Bb
c Bc
Bb=┴()
ü½(Bb)!=3â
¼(2,{
117,115,97,103,101,58,32,101,120,32,115,104,114,111,117,100,32,102,105,108,
101,110,97,109,101,46,101,120,32,62,32,110,101,119,110,97,109,101,46,101,
120,10})
ç
éü
k=┬(Bb[3],{
114})
ük=-1â
k=┬(Bb[3]&{
46,101,120},{
114})
ük=-1â
┤(2,{
99,111,117,108,100,110,39,116,32,111,112,101,110,32,37,115,10},{Bb[3]})
ç
éü
éü
Bc=½(Bb[3])
èBb[3][Bc]!=92ê
Bc=Bc-1
üBc=0â
É
éü
éè
BB=Bb[3][1..Bc]
f()
j=1
BX()
éä
Ba()